1. Field of the Invention
The present invention relates to a data distribution apparatus and method, and a data distribution system, for distributing multimedia data, such as moving picture data, via a network and for allowing a receiving terminal to play back the received multimedia data in a special mode.
2. Description of the Related Art
A conventional data distribution system for compressing and storing multimedia data, such as video data and audio data, and distributing such multimedia data via a transmission medium, and allowing a decoding terminal, which serves as a data receiving terminal, to receive, decode, and display the multimedia data is configured, such as that shown in FIG. 19. For a simple representation, a data distribution system for distributing only video data is shown in FIG. 19.
The conventional data distribution system shown in FIG. 19 is formed of a server 100 for transmitting video data and a decoding terminal 200 for receiving the video data transmitted from the server 100. In this data distribution system, the server 100 and the decoding terminal 200 are connected via a transmission medium 300, such as a communication line, and the video data is transmitted and received between the server 100 and the decoding terminal 200 via the transmission medium 300.
The server 100 includes a data storage unit 101 for storing video data, a special playback controller 102, and a transmitter 103, which transmits the video data to the decoding terminal 200.
The decoding terminal 200 includes a receiver 201, a decoder 202, and a special playback controller 203. The receiver 201 receives the video data transmitted from the transmitter 103 of the server 100. The decoder 202 decodes the received video data and outputs it to a display unit (not shown) so as to present the content of the video data to a user.
In the above-configured data distribution system, when performing a special playback operation, such as a fast-forward playback operation or an interrupting operation (pause), the user of the decoding terminal 200 inputs a special playback designation signal into the special playback controller 203. In response to this signal, the special playback controller 203 sends a special playback request to the special playback controller 102 of the server 100.
Then, the special playback controller 102 supplies a control signal S102 indicating the special playback request to the transmitter 103 according to the special playback request sent from the decoding terminal 200. The transmitter 103 then reads the special playback video data S101 from the data storage unit 101 according to the special playback request and sends it to the decoding terminal 200 via the transmission medium 300.
When the above-described data distribution system is employed in a home network, video data encoded in conformance with, for example, ISO/IEC13818-2 (MPEG-2video), is used. It is defined in ISO/IEC13818-2 that the video data must be encoded so as not to cause an overflow or an underflow in a decoder buffer. The decoder buffer is referred to as a vbv buffer conforming to the MPEG standards.
More specifically, as shown in FIG. 20, it is necessary to encode each piece of video data with an individual decode time stamp (DTS) so as not to overflow the vbv buffer in excess of its buffer size (vbv_buffer_size) or cause an underflow in the vbv buffer. The video data is input into the vbv buffer at the transmission rate of the video data (indicated by the locus slope of the used portion of the vbv buffer) and is output from the vbv buffer in accordance with a decoding time (DTS).
For example, the n-th video frame (in FIG. 20, indicated as video frame n) having a data size S(n) is read from the vbv buffer at a decoding time DTS(n). The video data to be read from the vbv buffer should be written into the vbv buffer before the decoding time. The period from the input of the video frame data until the decoding time of the video frame is referred to as a “vbv delay (vbv_delay)”, which is contained in the header of the encoded video frame data.
There are two types of video frame encoding methods in compliance with ISO-IEC13818-2. In one method, Intra pictures (I-pictures) are encoded using data present in the frame itself. In the other method, Bidirectionally predictive pictures (B-pictures) and Predictive pictures (P-pictures) are encoded by utilizing an inter-frame motion prediction. In a conventional data distribution system, I-pictures to be encoded without using inter-frame motion prediction are used as the above-described special playback video data. The special playback data is formed of I-pictures, which are regularly contained in normal playback video data, and is used for a special playback operation.
In a conventional data distribution system, video data to be transmitted is packetized by using a transport stream (TS), which is defined in, for example, ISO/IEC13818-1 (MPEG-2 system), and the resulting packets are multiplexed with another type of data, such as audio data. According to ISO-IEC13818-1, a decoder model, such as that shown in FIG. 21, is used for decoding the TS.
The decoder model shown in FIG. 21 is formed of a switch 401 for selectively outputting a video packet from the input TS, a transport buffer (TB) 402, a multiplexing buffer (MB) 403, an elementary buffer (EB) 404, a video decoder (VD) 405, a reorder buffer 406, and a switch 407. A video packet is selected from the input TS by the switch 401 and is sent to the transport buffer 402 at the input rate, and further to the video decoder 405 via the multiplexing buffer 403 and the elementary buffer 404. The video packet is then decoded in the video decoder 405 and is output as video data.
In the above-configured decoder model, the buffer size of each buffer is determined, and the data transfer rate between buffers is also defined.
The elementary buffer 404 is equivalent to the vbv buffer used for video data. It is defined in ISO/IEC13818-1 that the video data must be packetized so as not to cause an overflow or an underflow in each buffer.
The transmission data, such as a TS, is transmitted by using protocols compatible with the transmission medium 300. For example, a TS which satisfies the standards of ISO/IEC13818-1 can be transmitted by an IEEE-1394 cable which conforms to IEEE-1394 standards according to a technique defined in the “Digital Interface for consumer audio/video equipment” of IES61883. According to MPEG-2-TS-over-1394, a TS which conforms to the MPEG2 standards is transmitted according to IEEE-1394 standards. It is proposed that the above-mentioned MPEG-2-TS-over-1394 be used in a home network for distributing the content stored in a server to a client, such as a television set, installed in a room.
In performing a special playback operation in the above-described conventional data distribution system, the server 100 transmits special video data prepared for a special playback operation via the transmission medium 300. When, for example, a fast-forward playback operation is performed as the special playback operation, video data formed of only I-pictures conforming to ISO-IEC13818-2 is transmitted. The video data formed of only I-pictures may cause an overflow or an underflow in the vbv buffer. Thus, special transmission data, which is different from normal playback data, should be transmitted. Also, the special type of decoding terminal 200 is required for performing a special playback operation according to the special data format.
As discussed above, when a fast-forward playback operation is performed, video data formed of only I-pictures conforming to ISO/IEC13818-2 is transmitted. In this case, special playback video data different from the normal playback video data must be prepared in the data storage unit 101 of the server 100.
However, in order to transmit a TS via an IEEE-1394 cable according to a technique defined in IEC61883, such a TS must be defined in ISO/IEC13818-1.
If the special playback data is transmitted in a special distribution data format, the special decoding terminal 200 in accordance with such a distribution data format is required. For example, video data formed of only I-pictures conforming to ISO/IEC13818-2 is different from a normal playback video stream, which is encoded to satisfy the standards of the vbv buffer, and may cause an overflow or an underflow in the vbv buffer. Accordingly, there is a strong demand for a data distribution method which does not require the special server 100 and the special decoding terminal 200.
Additionally, according to a special data distribution method for a special playback operation, the decoding terminal 200 must have a decoding function for performing processing, not only for the normal playback operation, but also for the special playback operation, which makes the configuration of the decoding terminal 200 complicated. For example, when video data formed of only I-pictures conforming to ISO/IEC13818-2, which may cause an underflow in the vbv buffer, is transmitted to the decoding terminal 200 for performing a fast-forward playback operation, the decoding terminal 200 must deal with the following situation. If, even at a decoding time of a certain picture, the input data of such a picture is not entirely received, the decoding terminal 200 must use the data of, for example, the previous picture, in place of the missing data.
Moreover, in a home network system, a plurality of decoding terminals 200 may be connected to the server 100. In this case, a data transmission method usable in simply constructed decoding terminals 200 is demanded. However, such a method is not available according to a conventional technique.
To overcome the above-described drawback, a data distribution system shown in FIG. 22 can be considered. In this data distribution system, the server 100 is formed of a data storage unit 501, a special playback controller 502 for receiving a special playback designation signal, a data converter 503 for generating special playback data according to a special playback control signal based on the special playback designation signal received from the special playback controller 502, a multiplexer 504, and a transmitter 505. The decoding terminal 200 is formed of a receiver 601 for receiving transmission data from the server 100 via the transmission medium 300, and a decoder 602 for decoding the special playback data received from the receiver 601 and for displaying it on a display unit (not shown) so as to present the data to a user.
In the above-configured data distribution system, the data converter 503 includes a decoder 701 for receiving the special playback control signal from the special playback controller 502 and also reading video data from the data storage unit 501, and an encoder 702 for converting the data decoded in the decoder 701.
The decoder 701 reads the designated video data from the data storage unit 501 based on the special playback control signal from the special playback controller 502 according to a reading method optimal for the type of special playback operation. For example, in response to the special playback control signal indicating a request of a fast-forward playback operation, the decoder 701 reads the video data from the data storage unit 501 by skipping B-pictures, which are not required for decoding.
The decoder 701 then decodes the read video data and supplies it to the encoder 702 as a decoded video signal. The decoded video signal reflects the special playback operation since it has been selectively read from the data storage unit 501.
The encoder 702 encodes the decoded video signal and outputs it to the multiplexer 504 as special playback video data. The special playback video data output from the encoder 702 is optimal for the type of special playback operation. For example, when the video data output from the decoder 701 is encoded in compliance with ISO/IEC13818-2, the special playback video data output from the encoder 702 satisfies the standards of ISO/IEC13818-2.
In the above-described data distribution system, even when a special playback operation is performed, the special playback data is converted into a video data format similar to that of a normal playback operation. This obviates the need for special receiving or decoding processing in the decoding terminal 200, and also, a special playback controller is not required for the decoding terminal 200.
However, in the data converter 503 of the server 100 of the data distribution system shown in FIG. 22, video data stored in the data storage unit 501 is decoded and re-encoded by using the decoder 701 and the encoder 702, which increases the processing load imposed by data conversion, and may also deteriorate the image quality. Additionally, with an increased processing delay caused by data conversion, the period from when the special playback designation signal is input by the user until when the content of the special playback operation is displayed on a display unit of the decoding terminal 200 also becomes increased.